home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
comm
/
x00v150.zip
/
X00REF.DOC
< prev
next >
Wrap
Text File
|
1993-05-22
|
63KB
|
1,634 lines
Functions reference manual for the X00 developer
X.00 A Low Level Serial I/O Communications Driver
for MS DOS and like Operating Systems.
Copyright (c) 1993 by Raymond L. Gwinn
12469 Cavalier Drive
Woodbridge, Virginia 22192
All Rights Reserved
May 22, 1993
Fidonet address 1:265/104 (Routed Netmail only)
Compuserve 72570,157
Internet 72570.157@Compuserve.com
FAX 703-494-0595
i
INTRODUCTION
Previously, the documentation for X00 was little more than a
collection of notes. The notes were added to as the development
process continued and enhancements were made. I honestly did not
suspect that X00 would become as widely used as it is. This
manual is an attempt at some decent documentation for X00.
But who do I document for? The user that is setting up a BBS
just wants to get X00 installed and to move on to more important
things. The user that is having problems needs information about
serial I/O communications in general and the PC specifically.
The application developer (programmer) needs detailed information
about each individual function and the information generated.
This manual is intended as a reference for use by application
programmers who desires to use X00. A separate Users manual is
included in the distribution file(s).
This manual and the software distributed with it is provided with
no guarantees. Use at your own risk.
ii
WHAT IS X00 . . . . . . . . . . . . . . . . . . . . . . . . . 1
Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Licensing Information . . . . . . . . . . . . . . . . . . . . 2
Non-Commercial License . . . . . . . . . . . . . . . . . 2
Commercial License . . . . . . . . . . . . . . . . . . . 2
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Function 00h - Set communications parameters . . . . . . 4
Function 01h - Transmit character and wait . . . . . . . 5
Function 02h - Get received character with wait . . . . 5
Function 03h - Return Serial Port Status . . . . . . . . 6
Function 04h - Activate Port . . . . . . . . . . . . . . 7
Function 05h - Deactivate Port . . . . . . . . . . . . . 8
Function 06h - Raise/lower DTR . . . . . . . . . . . . . 8
Function 07h - Return timer tick information . . . . . . 9
Function 08h - Flush output buffer . . . . . . . . . . . 9
Function 09h - Purge output buffer . . . . . . . . . . . 9
Function 0Ah - Purge input buffer . . . . . . . . . . 10
Function 0Bh - Transmit no wait . . . . . . . . . . . 10
Function 0Ch - Non-destructive read-ahead (Peek) . . . 10
Function 0Dh - Keyboard read without wait . . . . . . 11
Function 0Eh - Keyboard read with wait . . . . . . . . 11
Function 0Fh - Flow Control for serial I/O . . . . . . 12
Xon/Xoff flow control . . . . . . . . . . . . . . 12
RTS/CTS flow control . . . . . . . . . . . . . . 12
Function 10h - Control-C / Control-K checking . . . . 13
Function 11h - Set current cursor location . . . . . . 13
Function 12h - Read current cursor location . . . . . 14
Function 13h - Single character ANSI write to screen . 14
Function 14h - Enable or disable the DCD watchdog . . 14
Function 15h - Write character to screen using BIOS . 15
Function 16h - Add or delete a routine from the timer
tick . . . . . . . . . . . . . . . . . . . . . . 15
Function 17h - Reboot system . . . . . . . . . . . . . 16
Function 18h - Block Read . . . . . . . . . . . . . . 16
Function 19h - Block Write . . . . . . . . . . . . . . 16
Function 1Ah - Break begin or end . . . . . . . . . . 17
Function 1Bh - Return information about X00 . . . . . 18
Superset Functions . . . . . . . . . . . . . . . . . . . . 19
Function 1Ch - Activate Port . . . . . . . . . . . . . 20
Function 1Dh - Deactivate Port . . . . . . . . . . . . 21
Function 1Eh - Extended line control initialization . 22
Function 1Fh - Extended serial port status/control . . 23
Function 20h - Read with no wait (destructive) . . . . 24
Function 21h - Stuff/Poke the receive buffer . . . . . 24
"Layered Application" services . . . . . . . . . . . . . . 25
Function 7Eh - Install an "external application"
iii
function . . . . . . . . . . . . . . . . . . . . 25
Function 7Fh - Remove an "external application"
function . . . . . . . . . . . . . . . . . . . . 26
Application Notes . . . . . . . . . . . . . . . . . . . . . 27
Which Activate/Deactivate functions to use . . . . . . 27
Watch out for disk I/O . . . . . . . . . . . . . . . . 27
Successive timer tick calls . . . . . . . . . . . . . 28
1
WHAT IS X00
X00 is a Serial Input/Output (SIO) communications driver. It
provides an interface between an application program and the
serial communications hardware.
X00 was originally designed as a FOSSIL driver. FOSSIL is an
acronym containing the first character of several communications
programs. The FOSSIL specification is basically an extension of
the PC's BIOS services for serial communications.
Except as noted in the this Manual, X00 meets the FOSSIL level 5
specification. X00 provides additional functions that are not
contained in the FOSSIL level 5 specification.
X00 only works with 8250 (TYPE) serial I/O devices. Such devices
include the 8250A, 16450, 16550, 16550A and the 82510. If you
have a PC that is an IBM or near compatible which has a serial
communication port, it is likely that it contains one of these
devices. XU, a utility distributed with X00, will identify the
existence of compatible SIO devices.
Like other Device Drivers, X00 will do very little standing
alone. There must be an application(s) program to use X00 before
you will gain benefit.
Since the introduction of the FOSSILs, a great number of new
communications programs have come into existence. I like to
think that the FOSSILs are largely responsible for this. Many
programs that contain their own communications drivers have added
FOSSIL support. One no